Skip to main content
Version: 1.2.0

Metering API

Metering service API Documentation kadal meter


Version: 1.2.0

Paths

Healthcheck API -

/aiwb/metering/api/v1/healthz

  • Method: GET
  • Summary: Health Check
  • Description: Return Health Status. :return:
  • Operation ID: health_check_aiwb_metering_api_v1_healthz_get
  • Responses:
    • 200:
      • Description: Successful Response
      • Content-Type: application/json

Create Metering -

Endpoint: /aiwb/metering/api/v1/

  • Method: POST
  • Summary: Create Metering To Analyze Token Consumption
  • Description: This API facilitates the logging of token consumption by tenants, users, and bots within the system. It allows for detailed tracking and analysis of token usage patterns, enabling administrators to monitor resource allocation efficiently. The endpoint supports specifying the relevant tenant, user, and bot identities for precise consumption tracking and auditing purposes.
  • Operation ID: Create_Metering_to_analyze_token_consumption_aiwb_metering_api_v1__post

Request Payload:

TypeParameterDescriptionData Typeis_optional
Querybot_idIdentifier of the chatbotstringmadatory
Queryapplication_nameName of the application using the chatbotstringOptional
Queryunique_query_idID for the querystringOptional
Queryuser_queryUser's input querystringmadatory
Querymodel_answerAnswer generated by the chatbot modelstringOptional
Querymodel_nameName of the chatbot model used (OpenAI, Palm)stringOptional
Querypre_calc_input_tokenNumber of input tokens pre-calculatedintegerOptional
Queryinput_tokenNumber of input tokens processedintegermadatory
Queryoutput_tokenNumber of output tokens generatedintegermadatory
Queryinput_payloadAdditional input payload for the chatbotstringmadatory
Querymodel_responseFull response generated by the chatbot modelstringmadatory
Querylatency_in_secondsResponse latency in secondsnumberOptional
Queryword_count_sentNumber of words in the user queryintegerOptional
Queryword_count_receivedNumber of words in the chatbot's responseintegerOptional
QuerytoxicityToxicity level of the responsestringOptional
QuerysentimentSentiment analysis result of the responsestringOptional

sample code

import requests
URL = "https://api.kadal.ai/aiwb/metering/api/v1/"

# sample python code
headers = { "Authorization ": "Bearer 1234567890" }

params:{
"bot_id": "string",
"application_name": "string",
"unique_query_id": "string",
"user_query": "string",
"model_answer": "string",
"model_type": "string",
"model_name": "string",
"pre_calc_input_token": 0,
"input_token": 0,
"output_token": 0,
"metering_costs": {
"input_token_cost": 0,
"output_token_cost": 0,
"av_translation_cost": 0,
"embedding_cost": 0,
"total_cost": 0
},
"input_payload": "string",
"model_response": "string",
"metering_logs": {
"av_translation_duration": 0,
"image_generation_nos": 0,
"image_generation_quality": 0,
"image_generation_dimension": "string"
},
"latency_in_seconds": 0,
"word_count_sent": 0,
"word_count_received": 0,
"toxicity": "Toxic",
"sentiment": "Positive"
}

response = requests.post(URL, headers=headers,params=params)
print(response)

Example Response value -

{
"status_code": 201,
"message": "Token consumption created successfully"
}

Responses:

Status CodeDescriptionContent-Type
200Successful Responseapplication/json
201Token consumption created successfullyapplication/json
400Bad Requestapplication/json
500Internal Server Errorapplication/json
422Validation Errorapplication/json

Token Consumption by Tenant -

Endpoint: /aiwb/metering/api/v1/token_by_tenant/{tenant_id}

  • Method: GET
  • Summary: Retrieve the Usage Details of Tokens Consumed by a Specific Tenant
  • Description: This API endpoint enables retrieval of token consumption data associated with a specific Tenant ID. By making a GET request to this endpoint with the relevant Tenant ID specified as a parameter, you can obtain detailed information about token usage within the specified tenant.
  • Operation ID: Retrieve_the_usage_details_of_tokens_consumed_by_a_specific_tenant_aiwb_metering_api_v1_token_by_tenant__tenant_id__get

Request Payload:

TypeParameterDescriptionData Typeis_optional
parametertenant_idTenant ID to retrive meteringstring (UUID)mandatory

Sample code

import requests
URL = "https://api.kadal.ai/aiwb/metering/api/v1/token_by_tenant/{tenant_id}"
# sample python code
headers = { "Authorization ": "Bearer 1234567890" }

params:{
"tenant_id":"string"
}
response = requests.get(URL, headers=headers,params=params)
print(response)

Example Response value -

{
"status_code": 200,
"message": "List of token consumed by Tenant Id"
}

Responses:

Status CodeDescriptionContent-Type
200List Token consumed by Tenant IDapplication/json
404Token consumption not found for given tenantapplication/json
400Bad Requestapplication/json
500Internal Server Errorapplication/json
422Validation Errorapplication/json

Token Consumption by User -

Endpoint: /aiwb/metering/api/v1/token_by_user/{user_id}

  • Method: GET

-- Summary: Retrieve the Usage Details of Tokens Consumed by a Specific User

  • Description: This API allows you to retrieve a list of tokens consumed by a specific User. By sending a GET request to this endpoint with the UserId as a parameter, you can access detailed information about token consumption associated with that user.
  • Operation ID: Retrieve_the_usage_details_of_tokens_consumed_by_a_specific_user_aiwb_metering_api_v1_token_by_user__user_id__get

Request Payload:

TypeParameterDescriptionData Typeis_optional
parameteruser_iduser ID to retrive meteringstring (UUID)mandatory

Sample code

import requests
URL = "https://api.kadal.ai/aiwb/metering/api/v1/token_by_user/{user_id}"
# sample python code
headers = { "Authorization ": "Bearer 1234567890" }

params:{
"user_id":"string"
}
response = requests.get(URL, headers=headers,params=params)
print(response)

Example Response value -

{
"status_code": 200,
"message": "List of token consumed by UserId"
}

Responses:

Status CodeDescriptionContent-Type
200List of Tokens consumed by UserIdapplication/json
404Token consumption not found for given userapplication/json
400Bad Requestapplication/json
500Internal Server Errorapplication/json
422Validation Errorapplication/json

Components

Schemas

HTTPValidationError

  • Type: object
  • Description:
  • Properties:
    • detail:
      • Type: array

ListTokenConsumedResponse

  • Type: object
  • Description:
  • Properties:
    • status_code:
      • Type: integer
    • message:
      • Type: string
    • data:

MeteringResponse

  • Type: object
  • Description:
  • Properties:
    • status_code:
      • Type: integer
    • message:
      • Type: string

Msg

  • Type: object
  • Description:
  • Properties:
    • msg:
      • Type: string

Sentiment

  • Type: Not specified
  • Description: An enumeration.
  • Properties:

TokenConsumption

  • Type: object
  • Description:
  • Properties:
    • bot_id:
      • Type: string
    • application_name:
      • Type: string
    • unique_query_id:
      • Type: string
    • user_query:
      • Type: string
    • model_answer:
      • Type: string
    • model_name:
      • Type: string
    • pre_calc_input_token:
      • Type: integer
    • input_token:
      • Type: integer
    • output_token:
      • Type: integer
    • input_payload:
    • model_response:
    • latency_in_seconds:
      • Type: number
    • word_count_sent:
      • Type: integer
    • word_count_received:
      • Type: integer
    • toxicity:
    • sentiment:

Toxicity

  • Type: Not specified
  • Description: An enumeration.
  • Properties:

ValidationError

  • Type: object
  • Description:
  • Properties:
    • loc:
      • Type: array
    • msg:
      • Type: string
    • type:
      • Type: string